package com.gengzp.mq.server.service;

import com.gengzp.mq.server.model.topic.req.MqCreateTopicReq;
import com.gengzp.mq.server.model.topic.req.MqEditTopicReq;
import com.gengzp.mq.server.model.topic.resp.MqListTopicResp;

import java.util.List;

/**
 * @ClassName MqTopicService
 * @Description 消息主题topic管理服务层接口
 * @Author gengzp
 * @Date 2025/10/22 21:29
 */
public interface MqTopicService {

    /**
     * 创建消息主题 topic
     *
     * @param req 创建消息主题 topic 请求参数
     */
    void createTopic(MqCreateTopicReq req);

    /**
     * 编辑消息 topic 的描述
     *
     * @param req 编辑消息 topic 描述请求参数
     */
    void editTopicDescription(MqEditTopicReq req);

    /**
     * 删除 topic 主题
     *
     * @param topic 主题名
     */
    void removeTopic(String topic);

    /**
     * 查询主题列表
     *
     * @return 主题列表
     */
    List<MqListTopicResp> list();

}
